package beans;

import javax.persistence.EmbeddedId;
import javax.persistence.Entity;
import javax.persistence.JoinColumn;
import javax.persistence.JoinColumns;
import javax.persistence.ManyToOne;
import javax.persistence.Table;

@Entity
@Table(name="metrica")
public class Metrica {
	@EmbeddedId
	private MetricaPK metricaPK;

	@ManyToOne
	@JoinColumns(value={@JoinColumn(name="proj_cod",insertable=false,updatable=false),
			@JoinColumn(name="iter_numero",insertable=false,updatable=false)})
	private Iteracao iteracao;
	
	@ManyToOne
	@JoinColumn(name="tipomet_cod",insertable=false,updatable=false)
	private TipoMetrica tipoMetrica;
	
	public MetricaPK getMetricaPK() {
		return metricaPK;
	}

	public void setMetricaPK(MetricaPK metricaPK) {
		this.metricaPK = metricaPK;
	}

	public Iteracao getIteracao() {
		return iteracao;
	}

	public void setIteracao(Iteracao iteracao) {
		if(metricaPK == null)
		{
			metricaPK = new MetricaPK();
		}
		metricaPK.setIdProjeto(iteracao.getIteracaoPK().getIdProjeto());
		metricaPK.setIterNumero(iteracao.getIteracaoPK().getIterNumero());
		this.iteracao = iteracao;
	}

	public TipoMetrica getTipoMetrica() {
		return tipoMetrica;
	}

	public void setTipoMetrica(TipoMetrica tipoMetrica) {
		if(metricaPK == null)
		{
			metricaPK = new MetricaPK();
		}
		metricaPK.setIdTipoMetrica(tipoMetrica.getIdTipoMetrica());
		this.tipoMetrica = tipoMetrica;
	}
}
